package com.caiwm.client.view;

import com.caiwm.client.common.ClientConfig;
import com.caiwm.client.dialog.CaiwmDialog;
import com.caiwm.client.protocol.TCPUtils;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


/**
 * <pre>
 * ━━━━━━神兽出没━━━━━━
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃  神兽保佑
 * 　　　　┃　　　┃  代码无bug
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━感觉萌萌哒━━━━━━
 * </pre>
 *
 * @author shiqla 106.12.204.97
 * @Desc ${DESC}
 * @Date 2019/1/10/010
 */
public class MainView extends CaiwmDialog implements ActionListener {

    private JFrame jFrame;

    private JLabel jLabel;

    private JTextField nameTextField;

    private JButton submitButton;

    private JPanel namePanel;

    private JPanel submitPanel;


    public MainView(){
        this.jFrame = new JFrame("欢迎来到聊天室..");
        this.jLabel = new JLabel("请输入名字");

        this.nameTextField = new JTextField(10);
        this.submitButton = new JButton("连接");

        this.namePanel = new JPanel();
        this.submitPanel  = new JPanel();

        this.submitButton.addActionListener(this);
    }

    public void start(){

        this.namePanel.add(jLabel);
        this.namePanel.add(nameTextField);

        this.submitPanel.add(submitButton);

        jFrame.setLayout(new GridLayout(2,1));
        jFrame.add(this.namePanel);

        jFrame.add(this.submitPanel);

        jFrame.setSize(300, 150); //设置窗口的大小
        jFrame.setLocation(300,200);//设置窗口的初始位置
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭窗口

        jFrame.setVisible(true);
    }

    public static void main(String[] args){
        MainView mainView = new MainView();
        mainView.start();
    }


    public void actionPerformed(ActionEvent e) {

        if(this.nameTextField.getText().equals("")){
            this.errorMessageDialog("必须输入一个用户名!.");
        }else{
            System.out.println("开始连接到远程服务器：" + ClientConfig.SERVER_IP);
            boolean result = TCPUtils.getInstance().connector();
            if(!result){
                this.errorMessageDialog("连接到远程服务器" + ClientConfig.SERVER_IP + " 失败!");
            }else{
                System.out.println("远程服务器连接成功..");
                ChatView chatView = new ChatView(this.nameTextField.getText().trim());
                chatView.start();
                this.jFrame.dispose();
            }
        }
    }
}
